/*
 * @lc app=leetcode.cn id=309 lang=javascript
 *
 * [309] 最佳买卖股票时机含冷冻期
 */

// @lc code=start
/**
 * @param {number[]} prices
 * @return {number}
 */
var maxProfit = function(prices) {
    let hold=[-prices[0],Math.max(-prices[0],-prices[1])]
    let unHold=[0,Math.max(0,prices[1]-prices[0])]
    let n=prices.length
    for(let i=2;i<n;i++){
        hold[i]=Math.max(hold[i-1],unHold[i-2]-prices[i])
        unHold[i]=Math.max(unHold[i-1],hold[i-1]+prices[i])
    }
    return unHold[n-1]
};
// @lc code=end

